<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // 自增自减运算   ++   --
        // 本质属于赋值运算

        //  ++ 在后面的时候，先运算，后自增
        //  ++ 在前面的时候，先自增，再运算

        var n = 2;

        // n = n + 1 ;
        // n += 1 ;

        // n++;
        // console.log(n);  // 3

        // ++n;
        // console.log(n);   // 3

        var x = n++;
        // 执行过程  因为++写在了后面  需要先运算，之后再自增
        // x = n
        // n再自增1
        console.log(x);   // 2
        console.log(n);   // 3


        var y = ++n;
        // 行过程  因为++写在了前面 需要先自增，之后再运算
        // n自增1   4
        // y = n   4

        console.log(y);   // 4



        // var a = 1;
        // var c = a++ + 1;
        // //  计算过程  1 + 1
        // console.log(c);  // 2

        // var a = 1;
        // var c = ++a + 1 ;
        // // 计算过程  2 + 1
        // console.log(c);  // 3


        // var a = 1;
        // var b = a++ + ++a;
        // // 计算  1  +  3
        // console.log(b);   // 4


        // var a = 1 ;
        // var b = a++ + a++ ;
        // console.log(b);   // 3


        // var a = 1;
        // var b = ++a + ++a;
        // //       2  +  3
        // console.log(b);   // 5


        // var a = 1;
        // var b = a--;
        // console.log(b);   // 1


        var a = 1;
        var b = ++a + a-- + a++;
        //      2   +  2  + 1
        console.log(b);



    </script>

</body>

</html>